package com.aibaixun.system.service;

import com.aibaixun.common.core.domain.R;
import com.aibaixun.system.domain.DicmNvr;
import com.aibaixun.system.domain.dto.BindDeviceDto;
import com.aibaixun.system.domain.dto.DicmNvrPageDto;
import com.aibaixun.system.domain.vo.QueryDeviceTreeVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author zhangyh
* @description 针对表【dicm_nvr(摄像头信息表)】的数据库操作Service
* @createDate 2023-09-14 16:21:23
*/
public interface DicmNvrService extends IService<DicmNvr> {

    /**
     * 分页
     * @param page
     * @param pageDto
     * @return
     */
    R<Page<DicmNvr>> getPage(Page page, DicmNvrPageDto pageDto);

    /**
     * 获取UE关联
     * @return
     */
    List<DicmNvr> getAllDeviceUe();

    /**
     * 获取摄像头详情
     * @param nvrId
     * @return
     */
    R<DicmNvr> getNvrDetail(String nvrId);

    void addNvrMessage(List<DicmNvr> nvrList);

    List<DicmNvr> queryNvrList();

    void updateNvrById(List<DicmNvr> dicmNvrList);

    boolean saveDicnNvrList(List<DicmNvr> nvrList);

    List<QueryDeviceTreeVo> queryNvrTreeList(String parentId);

    boolean updateNvr(BindDeviceDto dto);

    List<String> queryDeviceId();

    List<String> queryNvrDeviceId();

    String getNvrDetailUrl(String addressId);

    void updatenvrUeId(BindDeviceDto dto);

    void resetUeId();
}
